From c310abc5f169b598f5c344f52bd47bc5439a8437 Mon Sep 17 00:00:00 2001 From: Tim Deegan Date: Fri, 20 Oct 2006 16:01:49 +0100 Subject: [PATCH] [XEN] Show shadow status of vcpus in domain info dump Signed-off-by: Tim Deegan --- xen/arch/ia64/xen/xenmisc.c | 4 ++++ xen/arch/powerpc/domain.c | 4 ++++ xen/arch/x86/domain.c | 14 ++++++++++++++ xen/common/keyhandler.c | 1 + xen/include/xen/domain.h | 2 ++ 5 files changed, 25 insertions(+) diff --git a/xen/arch/ia64/xen/xenmisc.c b/xen/arch/ia64/xen/xenmisc.c index e9bb00c480..fceb2bfe29 100644 --- a/xen/arch/ia64/xen/xenmisc.c +++ b/xen/arch/ia64/xen/xenmisc.c @@ -165,6 +165,10 @@ void arch_dump_domain_info(struct domain *d) { } +void arch_dump_vcpu_info(struct vcpu *v) +{ +} + void audit_domains_key(unsigned char key) { } diff --git a/xen/arch/powerpc/domain.c b/xen/arch/powerpc/domain.c index 29bdd54ba8..ed52491f19 100644 --- a/xen/arch/powerpc/domain.c +++ b/xen/arch/powerpc/domain.c @@ -286,6 +286,10 @@ void arch_dump_domain_info(struct domain *d) { } +void arch_dump_vcpu_info(struct vcpu *v) +{ +} + extern void sleep(void); static void safe_halt(void) { diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c index be19507d59..53d22417dc 100644 --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -1003,6 +1003,20 @@ void arch_dump_domain_info(struct domain *d) } } +void arch_dump_vcpu_info(struct vcpu *v) +{ + if ( shadow_mode_enabled(v->domain) ) + { + if ( v->arch.shadow.mode ) + printk(" shadowed %u-on-%u, %stranslated\n", + v->arch.shadow.mode->guest_levels, + v->arch.shadow.mode->shadow_levels, + shadow_vcpu_mode_translate(v) ? "" : "not "); + else + printk(" not shadowed\n"); + } +} + /* * Local variables: * mode: C diff --git a/xen/common/keyhandler.c b/xen/common/keyhandler.c index e9e2b4d385..1486bdf7b5 100644 --- a/xen/common/keyhandler.c +++ b/xen/common/keyhandler.c @@ -173,6 +173,7 @@ static void dump_domains(unsigned char key) printk("dirty_cpus=%s ", cpuset); cpuset_print(cpuset, sizeof(cpuset), v->cpu_affinity); printk("cpu_affinity=%s\n", cpuset); + arch_dump_vcpu_info(v); printk(" Notifying guest (virq %d, port %d, stat %d/%d/%d)\n", VIRQ_DEBUG, v->virq_to_evtchn[VIRQ_DEBUG], test_bit(v->virq_to_evtchn[VIRQ_DEBUG], diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h index e421c8442d..40103e7df5 100644 --- a/xen/include/xen/domain.h +++ b/xen/include/xen/domain.h @@ -29,6 +29,8 @@ void domain_relinquish_resources(struct domain *d); void dump_pageframe_info(struct domain *d); +void arch_dump_vcpu_info(struct vcpu *v); + void arch_dump_domain_info(struct domain *d); #endif /* __XEN_DOMAIN_H__ */ -- 2.30.2